1. Field of the Invention
2. Background
Increasingly, computer systems are being used to present multimedia material. Such material is usually in the form of text, graphics, video, animation, and sound. Two or more of these data types are usually combined to form the multimedia data presented by the computer system. A computer system that is used to present multimedia material is called a multimedia system.
A multimedia system should include components that allow input, information retrieval, and display. FIG. 1A provides an illustration of components for a multimedia system. Client 110 includes an interface capability to accept user input. The user input can specify criteria for identifying multimedia data. Method player 102 converts the media data from its storage version to a playback version for use by client 110.
Index server 108, archive server 106, and tertiary storage 104 provide storage and retrieval capabilities. Index server 108 is used to store and retrieve text data. Information entered in the user interface can be used to retrieve textual information stored by index server 108. The user input might identify a video segment using a title that is associated with the video segment using index server 108, for example. The multimedia data is stored on a physical storage device. A retrieval mechanism is provided to retrieve data from a physical storage device. Archive server 106 locates the multimedia data wherever it is stored and interfaces with tertiary storage manager 105 to access the media data.
Current multimedia systems attempt to provide some or all of the components described in FIG. 1A. However, the components provided by these systems are merged to form a single component thereby making it impossible to separate the merged components into the discrete components described in FIG. 1A. This architecture is disadvantageous for at least two reasons: 1) there is no ability to replace a less capable component with another, more capable component; 2) it forces each system to run on a single hardware platform.
Each system provides vendor-specific implementations in which at least one of the vendor-specific components used in these systems renders the system less viable as a solution for multimedia applications. Since, the services are merged into a single server, there is no ability to remove a less viable component and substitute a more capable component in its place. For example, a vendor may offer a multimedia system that includes its premiere DBMS product as an index server along with a less capable archive server or client. All of the components are intertwined such that it is impossible to substitute another archive server or client for the existing archive server and client. The following provides a brief summary of some existing multimedia systems.
FIG. 1B illustrates one multimedia system having an intermedia server, client and index server combined as a single component that runs on one, monolithic hardware platform. The system is not portable to another hardware platform. It runs on a single hardware platform (i.e., platform 112, a Hewlett Packard platform). The system includes intermedia server 118, index server 116, and client 114. Client 114 is used to make a multimedia request to intermedia server 118. Intermedia server 118 queries index server 116 for information to locate the requested data. Intermedia server 118 uses the data returned from index server 116 to request the data from its archive server and tertiary storage management subsystems.
The archive server and tertiary storage management subsystems are integrated in Intermedia server 118. Client and method player 114 and index server 116 are interconnected with intermedia server 118 to form a single component. The interconnections are hardwired such that it is impossible to replace one of the existing components. Another aspect of the design of this system results in the inability to substitute another component. Client 114 has a built-in method player functionality. Thus, the system expects the client component to include a method player. Yet, most client components that are offered by vendors do not include a method player. Therefore, it is impossible to use a different client or method player component with intermedia server 118.
A multimedia system having a hub is illustrated in FIG. 1C. Such a system is provided by Oracle. The hub is provided by media server 130. The system runs on a specific hardware platform (hardware platform 138, an N-Cube hardware platform) and is not portable to other platforms. Media server 130 acts as a hub that uses a proprietary interface to communicate with the other services. Components with which media server 130 can communicate are method player 122, tertiary storage manager 124, and client 120 (via lines 134, 132, and 136, respectively). These components are merged into a single component thus making it impossible to replace a component. The component formed by media server 130, method player 122, tertiary storage manager 124, index server 128, archive server 126 and client 120 must run on a single hardware platform, platform 138. Further, while index server 128 is a powerful database management system, client 120, archive server 126, method player 122 and tertiary storage 124 offer weak solutions.
A system having an index server, tertiary storage manager, and archive server is illustrated in FIG. 1D. Such a system is provided by IBM. The system offers index server 148 (e.g., IBM's DB2 or Oracle's DBMS), archive server 146, and tertiary storage manager 144 in an integrated system that runs on mainframe 140. Mainframe 140 is an IBM SP2 hardware platform comprised of two RS6000 machines. Mainframe 140 is comprised of processing units 144 in which components (e.g., index server 148) can run. Tertiary storage 144 is connected to one of processing units 144. A request for multimedia content from a client is processed by index server 148. Index server 148 provides selection information that identifies the content which is retrieved from tertiary storage 144. The system is built to run in a mainframe environment using IBM hardware. Further, the system does not include a client or method player. Index server 148, tertiary storage manager 144 and archive server 146 are combined as a single component such that it is impossible to replace one or more of them.
A system having a kernel and data blades that interface with the kernel is illustrated in FIG. 1E. Such a system is provided by Informix. As illustrated below, the system includes kernel 170 that acts as a hub. Kernel 170 is supplemented by a plurality of data blades 160A-160H. Data blades 160A-160H communicate with the kernel using a proprietary interface. A data blade is a complex data type that is defined using a programming language such as "C". Each data blade (e.g., 160A-160H) is attached to kernel 170 and integrated into data dictionary 172. Data blades 160A-160H can then be used over a file system. Kernel 170 includes a index. Thus, another component must communicate with the index via a proprietary interface provided by a data blade (e.g., data blades 160A-160H). Data blades 160H, 160B, and 160D provide a proprietary interface to method player 162, tertiary storage manager 164, and archive server 166, respectively. The components provided by this system are merged to form a single component that use a proprietary interface to communicate. The component combination runs in a single hardware platform 174. Data dictionary 172 can become large and cumbersome. In addition, a fault that occurs in one data blade that is included in data dictionary 172 causes a fault for the entire system. This system construction is not fault tolerant and is unacceptable for a production environment.
A pre-packaged system having interconnected system components with hardwired, proprietary interconnections is illustrated in FIG. 1F. Such a system is provided by Cinebase. System 178 includes a component formed by method player 182, tertiary storage manager 184, archive server 186, index server 188, and client 190. There is no clear delineation between components. Further, there are no clearly defined lines of communication between the components. Component interconnections are hardwired, and it is therefore impossible to substitute components that can communicate using the existing connections for the existing components. There is no ability to split the component into discrete components such that replacement component can be substituted for one of the existing components. Further, it is impossible to split the combined component into separate components that can run on multiple hardware platforms. The combined component offers a weak solution. The archive server is fast and efficient. Several tertiary storage managers are also provided. The method players are capable. However, the client and index server components provide a weak solution.
None of these systems illustrated in FIGS. 1B-1F provide a general cataloguing capability that can catalogue any type of multimedia data. In addition, none of the systems provided a viable multimedia system solution. That is, none of the systems provide viable options for each of the multimedia components identified in FIG. 1A. All of the systems merge the components identified in FIG. 1A into a single, component that makes it impossible to replace one of the components. Further, by combining the components into a single component, each system must run on a single hardware platform. Further, there is no vendor-independent interface available to integrate components from different vendors to construct a optimum multimedia system.
A number of prior art patents that describe software and/or hardware systems are provided below. These systems do not provide a general cataloguing capability or interfaces to interconnect the multimedia system components identified in FIG. 1A.
A computer system having a television circuit that is capable of receiving television signals and forwarding these signals to the computer system's audio and video subsystems is described in U.S. Pat. Nos. 5,192,999 (Graczyk et al., issued on Mar. 9, 1993), 5,283,638 (Engberg et al., issued Feb. 1, 1994), and 5,283,819(Glick et al., issued Feb. 1, 1994). Video signals are received for display on the computer system's monitor. Audio signals are output using the computer system's speaker(s). A remote control device is used to control the television circuit within the computer system. A computer system having the television circuit can be used in combination with a data/fax/voice modem circuit for telephonic transmission of television signals for teleconferencing purposes.
A service for managing hypertext/hypermedia links is described in U.S. Pat. No. 5,297,249, Bernstein et al., issued on Mar. 22, 1994. A Link Manager Services (LMS) component provides a universal End User Interface (EUI) including menus and dialog boxes that can be called by an application program when a link, or marker, is selected by an application user. The LMS accesses a database that contains information about markers and their associated "presenters" (e.g., application or program). In addition, the LMS includes a viewer capability for viewing and maintaining existing links and creating new links. The LMS is used at runtime to generate menus and dialog boxes and manage the hypertext/hypermedia links.
A system that interconnects audio-video equipment such as video tape record or video production switcher using one or more "AV LANs" in U.S. Pat. No. 5,307,456, Mackay, issued on Apr. 26, 1994. Generic device commands are communicated over an AV LAN to a device translator. The device translator translates the generic command into a device-specific command. The AV LANs are interconnected using bridges. The AV LANs can further be used to interconnect workstations, minicomputers, mainframes and personal computers: The workstations can be used to display information about the resources attached to an AV LAN.
A controller apparatus for use with a computer system that provides programmed volume control of multiple analog input signals such as CD-ROM, telephony, MIDI, PCM, FM, and microphone in U.S. Pat. No. 5,402,499, Robison et al., issued on Mar. 28, 1995. Additionally, the controller can sum multiple inputs and produce multiple audio outputs. The controller provides telephony support such that it receives voice, DTMF and caller ID signals and sends telephonic audio signals.
A multimedia system that provides a multimedia device control program (MMDCP) that interfaces with a multimedia application program (MMAP) and a multimedia presentation manager (MMPM) in OS/2 in U.S. Pat. No. 5,428,730, Baker et al., issued on Jun. 27, 1995. The MMDCP provides a standardized user interface. Because many of the control functions are performed by the MMDCP, a MMAP can be simplified. The MMDCP creates an instance of a control panel for use with a multimedia device. A control panel instance includes UI widgets (e.g., buttons) that allow a user to control the associated device via the control panel instance and the device driver.
An expansion unit to implement multimedia capabilities on an existing computer system (e.g., IBM PS/2) in U.S. Pat. No. 5,434,592, Dinwiddie, Jr. et al., issued on Jul. 18, 1995. The expansion unit is connected to the computer system via an expansion slot and to the computer system's monitor. The expansion slot controls the video presentation displayed on the monitor.
A multimedia network bus (MMNB), multimedia network controller (MMNC) and protocol for transmitting isochronous and packet data between a backbone or wide area network and multiple local area network configurations in U.S. Pat. No. 5,436,898, Bowen et al., issued on Jul. 25, 1995. The MMNC allocates isochronous channels and packet channels to users over the MMNB taking into account the time delay requirements of various data types (e.g., voice, moving images, graphics, or text). The MMNB and MMNC is for use with multimedia applications that require a varying mix of isochronous data and packet data transfers.